With the proliferation of portable hand-held electronic devices, such as personal digital assistants (PDA's) and other personal electronic devices, there has been considerable effort invested in the simplification of a user's experience in viewing electronic content. Generally, a primary goal of such efforts has been to provide systems for presenting information to a user in a manner that is intuitively simple, yet which provides for efficient access to and navigation of electronic documents.
Known multiple-window architectures have limited appeal to those attempting to provide an intuitively simple system for presenting information to a user. While such architectures permit a user to display multiple contexts of electronic documents, they complicate the user's experience of electronic content. For example, the many menus, toolbars, scroll bars and command dialogues associated with known multiple-window architectures detract from the user's ability to maintain an understanding of which content is the current focus of the system. That is, multiple-window architectures provide a multi-space navigational environment in which each display context is provided with its own set of navigational controls and therefore, these architectures lack the simplicity maintained by a single navigational focus. In a user interface without a single navigational focus, there may be a multiplicity of navigational controls on the screen, some which affect one frame, some which affect another, and possibly some that effect navigation between different of the frames. Because each frame needs its own navigational controls, many identical controls are duplicated and different frames may implement similar navigational features in different ways, or implement features in one frame that are not available in others, all depending on which application is running in each frame. This creates both clutter as well as conceptual difficulty for users. Thus, it is difficult for a user to maintain a clear understanding of which of a number of navigational environments displayed is the currently active one. This complicates the user's experience and often results in unnecessary duplication of sets of navigational controls.
In contrast to multiple-window architectures, page-oriented architectures offer simplicity derived from the maintenance of a single navigational focus at all times. These architectures treat all electronic content as a document that can be paged through sequentially. Thus, the navigational focus is always very apparent to the user. Today's web browsers exhibit qualities of page-oriented architectures insofar as web pages are viewed individually in series as the user navigates to different electronic document pages. Because they mimic the navigational paradigm of a printed book and provide no confusion as to the current navigational focus, page-oriented architectures provide users with a very familiar and simple system for navigating electronic documents.
One drawback of strict page-oriented architectures, however, is that they do not permit the simultaneous viewing of multiple contexts of electronic documents. Multiple contexts would include, for example, non-contiguous pages of a single electronic document, or pages of two different electronic documents. To illustrate this drawback of strict page-oriented architectures, today's browsers do not permit simultaneous viewing of multiple contexts without resort to a multi-tasking, multiple-window environment in which more than one instance of the browser can be executed. Resort to multiple-window environments, however, results in a loss of the benefits of the single navigational focus of the page-oriented architecture.
It would therefore be desirable to provide apparatus and methods for displaying electronic documents that permits the simultaneous viewing of multiple contexts of electronic documents, while maintaining only a single navigational focus. It would also be desirable to provide apparatus and methods for displaying electronic documents which eliminates the complexity inherent in prior art systems that provide a navigational focus for each of the multiple contexts being displayed to the user.
Another drawback of multiple-window architectures is that such architectures do not always provide for the creation of a single navigational history. Each window maintains either its own navigational history, or else no history (this depends on the application). Furthermore, the features and user interface for accessing and navigating history differs among applications. For example, if the user runs two instances of a browser, each window has its own back/forward history chain. If a user had visited documents 1, 2, and 3 in Window A and 4, 5, and 6 in Window B, there would be no way to use the back/forward buttons in Window A to get to document 4, 5, or 6, because 4, 5, and 6 are not in its navigation history. To allow access to documents not in history, some browsers provide an address bar where document addresses can be entered, and a search command that can locate certain categories of documents (web pages).
Known applications provide other kinds of navigational facilities. One is a short list of recently used documents that are kept under a “File” menu. Another is the list of documents currently opened by that application, which is kept under a “Window” menu. Both the File and the Window menu can thus be used in lieu of forward/back buttons to navigate among recently viewed documents. And of course, the lists of documents under these menus in different applications will be different, depending on which documents the user has recently opened within each window. Some applications also provide a File Open command where the names of documents can be entered; this is analogous to but different from the browser address bar.
Thus, given a display of multiple windows, with the focus on one current window, should the user wish to display a recently visited document, they must remember which window it had been opened in and put the focus on that window before they attempt to actually navigate to that document. They must also deal with the different features and user interfaces that the different applications provide for accomplishing this navigation. Thus, it would be desirable to provide apparatus and methods for displaying electronic documents that provides a single navigational history and a single, consistent user interface and set of features for performing navigation between documents.